In the past, it was possible to deploy many different types of servers, which only needed to communicate with each other occasionally; however, in current implementations, many a business applications require systems to communicate in real or near real-time, automatically. Without a solution to communicate universally between such platforms in real or near real-time, there would be a need to design and implement a protocol on separate platforms, which is not a trivial form of programming. This would also lead to the requirement of extensive time and resources for developing and testing such low-level communications code.
MQ Series Messaging System is a message-oriented middleware for providing exchange of messages (and data on an enterprise wide basis. Currently, MQ Series is used extensively in many locations and is gaining the acceptance as the defacto cross platform messaging tool. MQ Series Messaging System is offered by many providers including Microsoft® and IBM MQ Series (Message Queuing Series).
Microsoft® BizTalk is gaining ground as an EDI (electronic data interchange) processing and work flow service BizTalk is a set of tools enabling business-to-business (B2B) exchange. In effect, BizTalk enables B2B eCommerce and process integration, the latter of which enables disparate business applications to exchange documents with each other over a network or enterprise system. The BizTalk Framework is an open framework for B2B exchange, which is implemented across major platforms and most major B2B products from other companies. BizTalk is built on the Microsoft® Windows® 2000 operating system.
Microsoft® has released an MQ Adapter for BizTalk, but it turns out not to be very practical solution. First, it requires a piece of code to run on the MQ Server, itself. This limits the MQ Server to run on Windows® based machines. This, in of itself, is a very limiting feature, especially in view of the advent of new systems such as, for example, Linux® based system. Second, the MQ Adapter for BizTalk uses a preprocessor extension API (application program interface) that is very difficult to understand and is actually not compatible with their flagship development environment, e.g., Microsoft.Net. This would appear to be contrary to the underlying advantages of an API, i.e., a set of routines, protocols, and tools for building software applications which makes it easier to develop a program by providing all the building blocks. The MQ configuration for the MS adapter is also overly complex, as it acts as a remote queue manager.